package net.zoneland.knowledge.uom.model;

import java.io.Serializable;

import org.apache.commons.lang.StringUtils;

import net.zoneland.knowledge.utils.OrgInfoUtils;

/**
 * uom部门信息.
 * @author zmq
 * @Date 2022/7/29 14:35
 */
public class UomDepartment implements Serializable {
    private static final long serialVersionUID = 5605646191285454846L;
    /**
     * dn.
     */
    private String dn;
    /**
     * 名称.
     */
    private String name;
    /**
     * 管理员姓名.
     */
    private String managerUserId;
    /**
     * 管理员uid.
     */
    private String managerUserName;
    /**
     * 公司dn.
     */
    private String companyDn;
    /**
     * 公司名称.
     */
    private String companyName;
    /**
     * 上级部门dn.
     */
    private String superDeptDn;
    /**
     * 组织全称.
     */
    private transient String fullName;
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getSuperDeptDn() {
        return superDeptDn;
    }
    /**
     * 设置 属性值.
     * @param superDeptDn 属性值
     */
    public void setSuperDeptDn(final String superDeptDn) {
        this.superDeptDn = superDeptDn;
    }

    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getDn() {
        return dn;
    }

    /**
     * 设置 属性值.
     * @param dn 属性值
     */
    public void setDn(final String dn) {
        this.dn = dn;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getName() {
        return name;
    }
    /**
     * 设置 属性值.
     * @param name 属性值
     */
    public void setName(final String name) {
        this.name = name;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getManagerUserId() {
        return managerUserId;
    }
    /**
     * 设置 属性值.
     * @param managerUserId 属性值
     */
    public void setManagerUserId(final String managerUserId) {
        this.managerUserId = managerUserId;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getManagerUserName() {
        return managerUserName;
    }
    /**
     * 设置 属性值.
     * @param managerUserName 属性值
     */
    public void setManagerUserName(final String managerUserName) {
        this.managerUserName = managerUserName;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getCompanyDn() {
        return companyDn;
    }
    /**
     * 设置 属性值.
     * @param companyDn 属性值
     */
    public void setCompanyDn(final String companyDn) {
        this.companyDn = companyDn;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getCompanyName() {
        return companyName;
    }
    /**
     * 设置 属性值.
     * @param companyName 属性值
     */
    public void setCompanyName(final String companyName) {
        this.companyName = companyName;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getFullName() {
        if (StringUtils.isNotBlank(fullName)) {
            this.fullName = OrgInfoUtils.convertDnToFullName(this.dn);
        }
        return fullName;
    }
    /**
     * 设置 属性值.
     * @param fullName 属性值
     */
    public void setFullName(final String fullName) {
        this.fullName = fullName;
    }

    @Override
    public String toString() {
        return "UomDepartment{"
            + "dn='" + dn + '\''
            + ", name='" + name + '\''
            + ", managerUserId='" + managerUserId + '\''
            + ", managerUserName='" + managerUserName + '\''
            + ", companyDn='" + companyDn + '\''
            + ", companyName='" + companyName + '\''
            + ", superDeptDn='" + superDeptDn + '\''
            + '}';
    }
}
